home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-05-25 | 3.1 KB | 88 lines | [TEXT/GEOL] |
- Item 0554448 23-May-90 07:47PDT
-
- From: V0344 Siemens Gammasonics, H Koopmans,VAR
-
- To: MACAPP.TECH$ MacApp Technical
-
- Sub: Question**3
-
- Any thoughts about the following?
-
-
- Item #1: Quickdraw32bit
-
- I am trying to use 32bit quickdraw. Using fracApp 2.0b3 as an
- example from the developer disk. I have a method similar to
- BuildMyOffWorld. I am using the pascal interface file from the
- developer disk, Quickdraw32bit.
- MacApp 2.0b9
- MPW 3.1
- system 6.0.5
-
- It appears that I cannot get it to compile, though the line in question
- appears OK. All other QD32bit calls compile OK. Just not NewGWorld.
- I did get it to compile, then I had to add quickdraw32bit to the main
- module(Mexerciser), the application compiled fine. But on
- subsequent compiles of the UExerciser the NewGWorld would not
- compile. The interface file seems Ok. Does anyone know what is
- going on?
-
-
- #
- #Erry := NewGWorld( newGW,32,frameRect,nil,nil, GWorldFlags(0));
- #
- ### Pascal - Error 169 Value out of range
- #------------------------------------------------------------------------------
- --------------------------------------------------
- File "UExerciser.inc1.p"; Line 718 # Compiling scsi0:ACE:AcqObj
- Code:AcqObjectNew:UEXERCISER.p
- #------------------------------------------------------------------------------
- --------------------------------------------------
- ### MPW Shell - Execution of scsi0:ACE:AcqObj Code:AcqObjectNew:.Debug
- Files:EXERCISER.MakeIt terminated.
-
-
-
-
- Item #2: Memory Management
-
- Could you clarify MacApp memory management? Originally in my
- code, a Pascal module included in a MacApp application,
- called NEW(Thingptr) to create a record structure. (These are
- nonrelocatable.) The first time through the code could
- allocate all the pointers it needed, and were freed via
- DISPOSE(Thingptr). The second time this procedure is called it
- fails on the first allocation in that a NIL value is returned.
- Heapresult said there were no errors. The code was
- changed to call NEWPTR via the toolbox instead of the NEW pascal
- function and everything appears to work fine. I would
- like to know what was wrong with the first scenario? Was those
- allocations coming from the permanent memory, and that
- may have been the problem. Is that why there was no indication of
- the error? And if all the record allocations were
- disposed why couldn't it get them back a second time. (The
- application had plenty of permanent memory available, even
- if fragmentation had occurred).
-
-
-
-
- Item #3: A5 in Interrupt Handlers
-
- This application currently supports a few interrupt routines, in slot
- and VBL interrupts. A5 is initialized as follows in the assembly
- routines.
-
- MOVE.L (CurrentA5),A5 ;Make sure A5 points to boundary between application
-
- Reading some of the Tech Notes(#180,208) implies that to be really
- safe you should save your A5(carry it around). Is this true for
- routines written in assembly, C and Pascal? Should I change the
- code to save my A5 or is the code OK to leave as is?
-
-
- Thanks!
- Lorraine Condic V0344
- Siemens Gammasonics
-
-